package com.kaifamiao.listener;

import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionIdListener;
import java.util.logging.Logger;

/**
 * HttpSessionIdListener 是 Servlet 3.1 新增的支持
 * 用于监听 会话对象 的 ID 值 被更改 的事件
 */
@WebListener
public class SessionIdChangeListener implements HttpSessionIdListener {

    private Logger logger = Logger.getLogger( this.getClass().getName() );

    // 当 当前会话的 ID 发生改变后调用 sessionIdChanged 方法
    @Override
    public void sessionIdChanged(HttpSessionEvent event, String oldSessionId) {
        HttpSession session = event.getSession();
        String id = session.getId();
        logger.info( "当前会话的ID由"+ oldSessionId +"更换为" + id );
    }

}
